import 'package:enterprise_v6_app/generated/json/base/json_convert_content.dart';
import 'package:enterprise_v6_app/app/data/entities/application/Inventory_system/job_responsibilities_list_entity.dart';

JobResponsibilitiesListEntity $JobResponsibilitiesListEntityFromJson(Map<String, dynamic> json) {
  final JobResponsibilitiesListEntity jobResponsibilitiesListEntity = JobResponsibilitiesListEntity();
  final String? allocationId = jsonConvert.convert<String>(json['allocationId']);
  if (allocationId != null) {
    jobResponsibilitiesListEntity.allocationId = allocationId;
  }
  final String? allocationName = jsonConvert.convert<String>(json['allocationName']);
  if (allocationName != null) {
    jobResponsibilitiesListEntity.allocationName = allocationName;
  }
  final String? allocationType = jsonConvert.convert<String>(json['allocationType']);
  if (allocationType != null) {
    jobResponsibilitiesListEntity.allocationType = allocationType;
  }
  final String? checkCycle = jsonConvert.convert<String>(json['checkCycle']);
  if (checkCycle != null) {
    jobResponsibilitiesListEntity.checkCycle = checkCycle;
  }
  final String? checkCycleUnit = jsonConvert.convert<String>(json['checkCycleUnit']);
  if (checkCycleUnit != null) {
    jobResponsibilitiesListEntity.checkCycleUnit = checkCycleUnit;
  }
  final String? checkCycleUnitLabel = jsonConvert.convert<String>(json['checkCycleUnitLabel']);
  if (checkCycleUnitLabel != null) {
    jobResponsibilitiesListEntity.checkCycleUnitLabel = checkCycleUnitLabel;
  }
  final String? checkMeans = jsonConvert.convert<String>(json['checkMeans']);
  if (checkMeans != null) {
    jobResponsibilitiesListEntity.checkMeans = checkMeans;
  }
  final String? companyCode = jsonConvert.convert<String>(json['companyCode']);
  if (companyCode != null) {
    jobResponsibilitiesListEntity.companyCode = companyCode;
  }
  final String? controlMeasures = jsonConvert.convert<String>(json['controlMeasures']);
  if (controlMeasures != null) {
    jobResponsibilitiesListEntity.controlMeasures = controlMeasures;
  }
  final String? controlMeasuresLabel = jsonConvert.convert<String>(json['controlMeasuresLabel']);
  if (controlMeasuresLabel != null) {
    jobResponsibilitiesListEntity.controlMeasuresLabel = controlMeasuresLabel;
  }
  final int? controllable = jsonConvert.convert<int>(json['controllable']);
  if (controllable != null) {
    jobResponsibilitiesListEntity.controllable = controllable;
  }
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    jobResponsibilitiesListEntity.createBy = createBy;
  }
  final String? createById = jsonConvert.convert<String>(json['createById']);
  if (createById != null) {
    jobResponsibilitiesListEntity.createById = createById;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    jobResponsibilitiesListEntity.createDate = createDate;
  }
  final String? dataSrc = jsonConvert.convert<String>(json['dataSrc']);
  if (dataSrc != null) {
    jobResponsibilitiesListEntity.dataSrc = dataSrc;
  }
  final String? dataSrcName = jsonConvert.convert<String>(json['dataSrcName']);
  if (dataSrcName != null) {
    jobResponsibilitiesListEntity.dataSrcName = dataSrcName;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    jobResponsibilitiesListEntity.deleted = deleted;
  }
  final String? departmentId = jsonConvert.convert<String>(json['departmentId']);
  if (departmentId != null) {
    jobResponsibilitiesListEntity.departmentId = departmentId;
  }
  final String? effectiveTime = jsonConvert.convert<String>(json['effectiveTime']);
  if (effectiveTime != null) {
    jobResponsibilitiesListEntity.effectiveTime = effectiveTime;
  }
  final String? hazardCode = jsonConvert.convert<String>(json['hazardCode']);
  if (hazardCode != null) {
    jobResponsibilitiesListEntity.hazardCode = hazardCode;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    jobResponsibilitiesListEntity.id = id;
  }
  final int? inspectionStatus = jsonConvert.convert<int>(json['inspectionStatus']);
  if (inspectionStatus != null) {
    jobResponsibilitiesListEntity.inspectionStatus = inspectionStatus;
  }
  final String? instrumentId = jsonConvert.convert<String>(json['instrumentId']);
  if (instrumentId != null) {
    jobResponsibilitiesListEntity.instrumentId = instrumentId;
  }
  final int? isApprove = jsonConvert.convert<int>(json['isApprove']);
  if (isApprove != null) {
    jobResponsibilitiesListEntity.isApprove = isApprove;
  }
  final int? isUpload = jsonConvert.convert<int>(json['isUpload']);
  if (isUpload != null) {
    jobResponsibilitiesListEntity.isUpload = isUpload;
  }
  final String? riskEventId = jsonConvert.convert<String>(json['riskEventId']);
  if (riskEventId != null) {
    jobResponsibilitiesListEntity.riskEventId = riskEventId;
  }
  final String? riskEventName = jsonConvert.convert<String>(json['riskEventName']);
  if (riskEventName != null) {
    jobResponsibilitiesListEntity.riskEventName = riskEventName;
  }
  final String? riskMeasureId = jsonConvert.convert<String>(json['riskMeasureId']);
  if (riskMeasureId != null) {
    jobResponsibilitiesListEntity.riskMeasureId = riskMeasureId;
  }
  final String? riskMeasureName = jsonConvert.convert<String>(json['riskMeasureName']);
  if (riskMeasureName != null) {
    jobResponsibilitiesListEntity.riskMeasureName = riskMeasureName;
  }
  final String? overdueQuantityNum = jsonConvert.convert<String>(json['overdueQuantityNum']);
  if (overdueQuantityNum != null) {
    jobResponsibilitiesListEntity.overdueQuantityNum = overdueQuantityNum;
  }
  final String? riskObjectId = jsonConvert.convert<String>(json['riskObjectId']);
  if (riskObjectId != null) {
    jobResponsibilitiesListEntity.riskObjectId = riskObjectId;
  }
  final String? riskObjectName = jsonConvert.convert<String>(json['riskObjectName']);
  if (riskObjectName != null) {
    jobResponsibilitiesListEntity.riskObjectName = riskObjectName;
  }
  final String? riskUnitId = jsonConvert.convert<String>(json['riskUnitId']);
  if (riskUnitId != null) {
    jobResponsibilitiesListEntity.riskUnitId = riskUnitId;
  }
  final String? riskUnitName = jsonConvert.convert<String>(json['riskUnitName']);
  if (riskUnitName != null) {
    jobResponsibilitiesListEntity.riskUnitName = riskUnitName;
  }
  final String? season = jsonConvert.convert<String>(json['season']);
  if (season != null) {
    jobResponsibilitiesListEntity.season = season;
  }
  final int? status = jsonConvert.convert<int>(json['status']);
  if (status != null) {
    jobResponsibilitiesListEntity.status = status;
  }
  final String? taskNum = jsonConvert.convert<String>(json['taskNum']);
  if (taskNum != null) {
    jobResponsibilitiesListEntity.taskNum = taskNum;
  }
  final String? taskStatus = jsonConvert.convert<String>(json['taskStatus']);
  if (taskStatus != null) {
    jobResponsibilitiesListEntity.taskStatus = taskStatus;
  }
  final List<JobResponsibilitiesListTaskTimeNodeTables>? taskTimeNodeTables = (json['taskTimeNodeTables'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<JobResponsibilitiesListTaskTimeNodeTables>(e) as JobResponsibilitiesListTaskTimeNodeTables).toList();
  if (taskTimeNodeTables != null) {
    jobResponsibilitiesListEntity.taskTimeNodeTables = taskTimeNodeTables;
  }
  final String? troubleshootContent = jsonConvert.convert<String>(json['troubleshootContent']);
  if (troubleshootContent != null) {
    jobResponsibilitiesListEntity.troubleshootContent = troubleshootContent;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    jobResponsibilitiesListEntity.updateBy = updateBy;
  }
  final String? updateById = jsonConvert.convert<String>(json['updateById']);
  if (updateById != null) {
    jobResponsibilitiesListEntity.updateById = updateById;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    jobResponsibilitiesListEntity.updateDate = updateDate;
  }
  final String? userId = jsonConvert.convert<String>(json['userId']);
  if (userId != null) {
    jobResponsibilitiesListEntity.userId = userId;
  }
  final String? warehouseId = jsonConvert.convert<String>(json['warehouseId']);
  if (warehouseId != null) {
    jobResponsibilitiesListEntity.warehouseId = warehouseId;
  }
  final String? workDayType = jsonConvert.convert<String>(json['workDayType']);
  if (workDayType != null) {
    jobResponsibilitiesListEntity.workDayType = workDayType;
  }
  final String? workDayTypeLabel = jsonConvert.convert<String>(json['workDayTypeLabel']);
  if (workDayTypeLabel != null) {
    jobResponsibilitiesListEntity.workDayTypeLabel = workDayTypeLabel;
  }
  final JobResponsibilitiesListWorkEndTime? workEndTime = jsonConvert.convert<JobResponsibilitiesListWorkEndTime>(json['workEndTime']);
  if (workEndTime != null) {
    jobResponsibilitiesListEntity.workEndTime = workEndTime;
  }
  final String? workKind = jsonConvert.convert<String>(json['workKind']);
  if (workKind != null) {
    jobResponsibilitiesListEntity.workKind = workKind;
  }
  final List<JobResponsibilitiesListWorkKindCycleChangeList>? workKindCycleChangeList = (json['workKindCycleChangeList'] as List<dynamic>?)?.map(
          (e) => jsonConvert.convert<JobResponsibilitiesListWorkKindCycleChangeList>(e) as JobResponsibilitiesListWorkKindCycleChangeList).toList();
  if (workKindCycleChangeList != null) {
    jobResponsibilitiesListEntity.workKindCycleChangeList = workKindCycleChangeList;
  }
  final String? workKindLabel = jsonConvert.convert<String>(json['workKindLabel']);
  if (workKindLabel != null) {
    jobResponsibilitiesListEntity.workKindLabel = workKindLabel;
  }
  final JobResponsibilitiesListWorkStartTime? workStartTime = jsonConvert.convert<JobResponsibilitiesListWorkStartTime>(json['workStartTime']);
  if (workStartTime != null) {
    jobResponsibilitiesListEntity.workStartTime = workStartTime;
  }
  final String? workType = jsonConvert.convert<String>(json['workType']);
  if (workType != null) {
    jobResponsibilitiesListEntity.workType = workType;
  }
  return jobResponsibilitiesListEntity;
}

Map<String, dynamic> $JobResponsibilitiesListEntityToJson(JobResponsibilitiesListEntity entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['allocationId'] = entity.allocationId;
  data['allocationName'] = entity.allocationName;
  data['allocationType'] = entity.allocationType;
  data['checkCycle'] = entity.checkCycle;
  data['checkCycleUnit'] = entity.checkCycleUnit;
  data['checkCycleUnitLabel'] = entity.checkCycleUnitLabel;
  data['checkMeans'] = entity.checkMeans;
  data['companyCode'] = entity.companyCode;
  data['controlMeasures'] = entity.controlMeasures;
  data['controlMeasuresLabel'] = entity.controlMeasuresLabel;
  data['controllable'] = entity.controllable;
  data['createBy'] = entity.createBy;
  data['createById'] = entity.createById;
  data['createDate'] = entity.createDate;
  data['dataSrc'] = entity.dataSrc;
  data['dataSrcName'] = entity.dataSrcName;
  data['deleted'] = entity.deleted;
  data['departmentId'] = entity.departmentId;
  data['effectiveTime'] = entity.effectiveTime;
  data['hazardCode'] = entity.hazardCode;
  data['id'] = entity.id;
  data['inspectionStatus'] = entity.inspectionStatus;
  data['instrumentId'] = entity.instrumentId;
  data['isApprove'] = entity.isApprove;
  data['isUpload'] = entity.isUpload;
  data['riskEventId'] = entity.riskEventId;
  data['riskEventName'] = entity.riskEventName;
  data['riskMeasureId'] = entity.riskMeasureId;
  data['riskMeasureName'] = entity.riskMeasureName;
  data['overdueQuantityNum'] = entity.overdueQuantityNum;
  data['riskObjectId'] = entity.riskObjectId;
  data['riskObjectName'] = entity.riskObjectName;
  data['riskUnitId'] = entity.riskUnitId;
  data['riskUnitName'] = entity.riskUnitName;
  data['season'] = entity.season;
  data['status'] = entity.status;
  data['taskNum'] = entity.taskNum;
  data['taskStatus'] = entity.taskStatus;
  data['taskTimeNodeTables'] = entity.taskTimeNodeTables?.map((v) => v.toJson()).toList();
  data['troubleshootContent'] = entity.troubleshootContent;
  data['updateBy'] = entity.updateBy;
  data['updateById'] = entity.updateById;
  data['updateDate'] = entity.updateDate;
  data['userId'] = entity.userId;
  data['warehouseId'] = entity.warehouseId;
  data['workDayType'] = entity.workDayType;
  data['workDayTypeLabel'] = entity.workDayTypeLabel;
  data['workEndTime'] = entity.workEndTime?.toJson();
  data['workKind'] = entity.workKind;
  data['workKindCycleChangeList'] = entity.workKindCycleChangeList?.map((v) => v.toJson()).toList();
  data['workKindLabel'] = entity.workKindLabel;
  data['workStartTime'] = entity.workStartTime?.toJson();
  data['workType'] = entity.workType;
  return data;
}

extension JobResponsibilitiesListEntityExtension on JobResponsibilitiesListEntity {
  JobResponsibilitiesListEntity copyWith({
    String? allocationId,
    String? allocationName,
    String? allocationType,
    String? checkCycle,
    String? checkCycleUnit,
    String? checkCycleUnitLabel,
    String? checkMeans,
    String? companyCode,
    String? controlMeasures,
    String? controlMeasuresLabel,
    int? controllable,
    String? createBy,
    String? createById,
    String? createDate,
    String? dataSrc,
    String? dataSrcName,
    String? deleted,
    String? departmentId,
    String? effectiveTime,
    String? hazardCode,
    String? id,
    int? inspectionStatus,
    String? instrumentId,
    int? isApprove,
    int? isUpload,
    String? riskEventId,
    String? riskEventName,
    String? riskMeasureId,
    String? riskMeasureName,
    String? overdueQuantityNum,
    String? riskObjectId,
    String? riskObjectName,
    String? riskUnitId,
    String? riskUnitName,
    String? season,
    int? status,
    String? taskNum,
    String? taskStatus,
    List<JobResponsibilitiesListTaskTimeNodeTables>? taskTimeNodeTables,
    String? troubleshootContent,
    String? updateBy,
    String? updateById,
    String? updateDate,
    String? userId,
    String? warehouseId,
    String? workDayType,
    String? workDayTypeLabel,
    JobResponsibilitiesListWorkEndTime? workEndTime,
    String? workKind,
    List<JobResponsibilitiesListWorkKindCycleChangeList>? workKindCycleChangeList,
    String? workKindLabel,
    JobResponsibilitiesListWorkStartTime? workStartTime,
    String? workType,
  }) {
    return JobResponsibilitiesListEntity()
      ..allocationId = allocationId ?? this.allocationId
      ..allocationName = allocationName ?? this.allocationName
      ..allocationType = allocationType ?? this.allocationType
      ..checkCycle = checkCycle ?? this.checkCycle
      ..checkCycleUnit = checkCycleUnit ?? this.checkCycleUnit
      ..checkCycleUnitLabel = checkCycleUnitLabel ?? this.checkCycleUnitLabel
      ..checkMeans = checkMeans ?? this.checkMeans
      ..companyCode = companyCode ?? this.companyCode
      ..controlMeasures = controlMeasures ?? this.controlMeasures
      ..controlMeasuresLabel = controlMeasuresLabel ?? this.controlMeasuresLabel
      ..controllable = controllable ?? this.controllable
      ..createBy = createBy ?? this.createBy
      ..createById = createById ?? this.createById
      ..createDate = createDate ?? this.createDate
      ..dataSrc = dataSrc ?? this.dataSrc
      ..dataSrcName = dataSrcName ?? this.dataSrcName
      ..deleted = deleted ?? this.deleted
      ..departmentId = departmentId ?? this.departmentId
      ..effectiveTime = effectiveTime ?? this.effectiveTime
      ..hazardCode = hazardCode ?? this.hazardCode
      ..id = id ?? this.id
      ..inspectionStatus = inspectionStatus ?? this.inspectionStatus
      ..instrumentId = instrumentId ?? this.instrumentId
      ..isApprove = isApprove ?? this.isApprove
      ..isUpload = isUpload ?? this.isUpload
      ..riskEventId = riskEventId ?? this.riskEventId
      ..riskEventName = riskEventName ?? this.riskEventName
      ..riskMeasureId = riskMeasureId ?? this.riskMeasureId
      ..riskMeasureName = riskMeasureName ?? this.riskMeasureName
      ..overdueQuantityNum = overdueQuantityNum ?? this.overdueQuantityNum
      ..riskObjectId = riskObjectId ?? this.riskObjectId
      ..riskObjectName = riskObjectName ?? this.riskObjectName
      ..riskUnitId = riskUnitId ?? this.riskUnitId
      ..riskUnitName = riskUnitName ?? this.riskUnitName
      ..season = season ?? this.season
      ..status = status ?? this.status
      ..taskNum = taskNum ?? this.taskNum
      ..taskStatus = taskStatus ?? this.taskStatus
      ..taskTimeNodeTables = taskTimeNodeTables ?? this.taskTimeNodeTables
      ..troubleshootContent = troubleshootContent ?? this.troubleshootContent
      ..updateBy = updateBy ?? this.updateBy
      ..updateById = updateById ?? this.updateById
      ..updateDate = updateDate ?? this.updateDate
      ..userId = userId ?? this.userId
      ..warehouseId = warehouseId ?? this.warehouseId
      ..workDayType = workDayType ?? this.workDayType
      ..workDayTypeLabel = workDayTypeLabel ?? this.workDayTypeLabel
      ..workEndTime = workEndTime ?? this.workEndTime
      ..workKind = workKind ?? this.workKind
      ..workKindCycleChangeList = workKindCycleChangeList ?? this.workKindCycleChangeList
      ..workKindLabel = workKindLabel ?? this.workKindLabel
      ..workStartTime = workStartTime ?? this.workStartTime
      ..workType = workType ?? this.workType;
  }
}

JobResponsibilitiesListTaskTimeNodeTables $JobResponsibilitiesListTaskTimeNodeTablesFromJson(Map<String, dynamic> json) {
  final JobResponsibilitiesListTaskTimeNodeTables jobResponsibilitiesListTaskTimeNodeTables = JobResponsibilitiesListTaskTimeNodeTables();
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    jobResponsibilitiesListTaskTimeNodeTables.createBy = createBy;
  }
  final String? createById = jsonConvert.convert<String>(json['createById']);
  if (createById != null) {
    jobResponsibilitiesListTaskTimeNodeTables.createById = createById;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    jobResponsibilitiesListTaskTimeNodeTables.createDate = createDate;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    jobResponsibilitiesListTaskTimeNodeTables.deleted = deleted;
  }
  final String? departmentId = jsonConvert.convert<String>(json['departmentId']);
  if (departmentId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.departmentId = departmentId;
  }
  final int? executingOrNot = jsonConvert.convert<int>(json['executingOrNot']);
  if (executingOrNot != null) {
    jobResponsibilitiesListTaskTimeNodeTables.executingOrNot = executingOrNot;
  }
  final int? hasItBeenClaimed = jsonConvert.convert<int>(json['hasItBeenClaimed']);
  if (hasItBeenClaimed != null) {
    jobResponsibilitiesListTaskTimeNodeTables.hasItBeenClaimed = hasItBeenClaimed;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    jobResponsibilitiesListTaskTimeNodeTables.id = id;
  }
  final String? recipientId = jsonConvert.convert<String>(json['recipientId']);
  if (recipientId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.recipientId = recipientId;
  }
  final String? recipientName = jsonConvert.convert<String>(json['recipientName']);
  if (recipientName != null) {
    jobResponsibilitiesListTaskTimeNodeTables.recipientName = recipientName;
  }
  final String? recipientPhone = jsonConvert.convert<String>(json['recipientPhone']);
  if (recipientPhone != null) {
    jobResponsibilitiesListTaskTimeNodeTables.recipientPhone = recipientPhone;
  }
  final int? remember = jsonConvert.convert<int>(json['remember']);
  if (remember != null) {
    jobResponsibilitiesListTaskTimeNodeTables.remember = remember;
  }
  final String? startDate = jsonConvert.convert<String>(json['startDate']);
  if (startDate != null) {
    jobResponsibilitiesListTaskTimeNodeTables.startDate = startDate;
  }
  final String? taskProgrammeId = jsonConvert.convert<String>(json['taskProgrammeId']);
  if (taskProgrammeId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.taskProgrammeId = taskProgrammeId;
  }
  final String? tbBaseControlMeasuresId = jsonConvert.convert<String>(json['tbBaseControlMeasuresId']);
  if (tbBaseControlMeasuresId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.tbBaseControlMeasuresId = tbBaseControlMeasuresId;
  }
  final String? tbBaseMeasuresTaskId = jsonConvert.convert<String>(json['tbBaseMeasuresTaskId']);
  if (tbBaseMeasuresTaskId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.tbBaseMeasuresTaskId = tbBaseMeasuresTaskId;
  }
  final String? tbBaseRiskEventsId = jsonConvert.convert<String>(json['tbBaseRiskEventsId']);
  if (tbBaseRiskEventsId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.tbBaseRiskEventsId = tbBaseRiskEventsId;
  }
  final String? tbBaseRiskObjectId = jsonConvert.convert<String>(json['tbBaseRiskObjectId']);
  if (tbBaseRiskObjectId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.tbBaseRiskObjectId = tbBaseRiskObjectId;
  }
  final String? tbBaseRiskUnitId = jsonConvert.convert<String>(json['tbBaseRiskUnitId']);
  if (tbBaseRiskUnitId != null) {
    jobResponsibilitiesListTaskTimeNodeTables.tbBaseRiskUnitId = tbBaseRiskUnitId;
  }
  final String? troubleshootContent = jsonConvert.convert<String>(json['troubleshootContent']);
  if (troubleshootContent != null) {
    jobResponsibilitiesListTaskTimeNodeTables.troubleshootContent = troubleshootContent;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    jobResponsibilitiesListTaskTimeNodeTables.updateBy = updateBy;
  }
  final String? updateById = jsonConvert.convert<String>(json['updateById']);
  if (updateById != null) {
    jobResponsibilitiesListTaskTimeNodeTables.updateById = updateById;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    jobResponsibilitiesListTaskTimeNodeTables.updateDate = updateDate;
  }
  final String? validityPeriodEndTime = jsonConvert.convert<String>(json['validityPeriodEndTime']);
  if (validityPeriodEndTime != null) {
    jobResponsibilitiesListTaskTimeNodeTables.validityPeriodEndTime = validityPeriodEndTime;
  }
  final String? validityPeriodStartTime = jsonConvert.convert<String>(json['validityPeriodStartTime']);
  if (validityPeriodStartTime != null) {
    jobResponsibilitiesListTaskTimeNodeTables.validityPeriodStartTime = validityPeriodStartTime;
  }
  return jobResponsibilitiesListTaskTimeNodeTables;
}

Map<String, dynamic> $JobResponsibilitiesListTaskTimeNodeTablesToJson(JobResponsibilitiesListTaskTimeNodeTables entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['createBy'] = entity.createBy;
  data['createById'] = entity.createById;
  data['createDate'] = entity.createDate;
  data['deleted'] = entity.deleted;
  data['departmentId'] = entity.departmentId;
  data['executingOrNot'] = entity.executingOrNot;
  data['hasItBeenClaimed'] = entity.hasItBeenClaimed;
  data['id'] = entity.id;
  data['recipientId'] = entity.recipientId;
  data['recipientName'] = entity.recipientName;
  data['recipientPhone'] = entity.recipientPhone;
  data['remember'] = entity.remember;
  data['startDate'] = entity.startDate;
  data['taskProgrammeId'] = entity.taskProgrammeId;
  data['tbBaseControlMeasuresId'] = entity.tbBaseControlMeasuresId;
  data['tbBaseMeasuresTaskId'] = entity.tbBaseMeasuresTaskId;
  data['tbBaseRiskEventsId'] = entity.tbBaseRiskEventsId;
  data['tbBaseRiskObjectId'] = entity.tbBaseRiskObjectId;
  data['tbBaseRiskUnitId'] = entity.tbBaseRiskUnitId;
  data['troubleshootContent'] = entity.troubleshootContent;
  data['updateBy'] = entity.updateBy;
  data['updateById'] = entity.updateById;
  data['updateDate'] = entity.updateDate;
  data['validityPeriodEndTime'] = entity.validityPeriodEndTime;
  data['validityPeriodStartTime'] = entity.validityPeriodStartTime;
  return data;
}

extension JobResponsibilitiesListTaskTimeNodeTablesExtension on JobResponsibilitiesListTaskTimeNodeTables {
  JobResponsibilitiesListTaskTimeNodeTables copyWith({
    String? createBy,
    String? createById,
    String? createDate,
    String? deleted,
    String? departmentId,
    int? executingOrNot,
    int? hasItBeenClaimed,
    String? id,
    String? recipientId,
    String? recipientName,
    String? recipientPhone,
    int? remember,
    String? startDate,
    String? taskProgrammeId,
    String? tbBaseControlMeasuresId,
    String? tbBaseMeasuresTaskId,
    String? tbBaseRiskEventsId,
    String? tbBaseRiskObjectId,
    String? tbBaseRiskUnitId,
    String? troubleshootContent,
    String? updateBy,
    String? updateById,
    String? updateDate,
    String? validityPeriodEndTime,
    String? validityPeriodStartTime,
  }) {
    return JobResponsibilitiesListTaskTimeNodeTables()
      ..createBy = createBy ?? this.createBy
      ..createById = createById ?? this.createById
      ..createDate = createDate ?? this.createDate
      ..deleted = deleted ?? this.deleted
      ..departmentId = departmentId ?? this.departmentId
      ..executingOrNot = executingOrNot ?? this.executingOrNot
      ..hasItBeenClaimed = hasItBeenClaimed ?? this.hasItBeenClaimed
      ..id = id ?? this.id
      ..recipientId = recipientId ?? this.recipientId
      ..recipientName = recipientName ?? this.recipientName
      ..recipientPhone = recipientPhone ?? this.recipientPhone
      ..remember = remember ?? this.remember
      ..startDate = startDate ?? this.startDate
      ..taskProgrammeId = taskProgrammeId ?? this.taskProgrammeId
      ..tbBaseControlMeasuresId = tbBaseControlMeasuresId ?? this.tbBaseControlMeasuresId
      ..tbBaseMeasuresTaskId = tbBaseMeasuresTaskId ?? this.tbBaseMeasuresTaskId
      ..tbBaseRiskEventsId = tbBaseRiskEventsId ?? this.tbBaseRiskEventsId
      ..tbBaseRiskObjectId = tbBaseRiskObjectId ?? this.tbBaseRiskObjectId
      ..tbBaseRiskUnitId = tbBaseRiskUnitId ?? this.tbBaseRiskUnitId
      ..troubleshootContent = troubleshootContent ?? this.troubleshootContent
      ..updateBy = updateBy ?? this.updateBy
      ..updateById = updateById ?? this.updateById
      ..updateDate = updateDate ?? this.updateDate
      ..validityPeriodEndTime = validityPeriodEndTime ?? this.validityPeriodEndTime
      ..validityPeriodStartTime = validityPeriodStartTime ?? this.validityPeriodStartTime;
  }
}

JobResponsibilitiesListWorkEndTime $JobResponsibilitiesListWorkEndTimeFromJson(Map<String, dynamic> json) {
  final JobResponsibilitiesListWorkEndTime jobResponsibilitiesListWorkEndTime = JobResponsibilitiesListWorkEndTime();
  final int? hour = jsonConvert.convert<int>(json['hour']);
  if (hour != null) {
    jobResponsibilitiesListWorkEndTime.hour = hour;
  }
  final int? minute = jsonConvert.convert<int>(json['minute']);
  if (minute != null) {
    jobResponsibilitiesListWorkEndTime.minute = minute;
  }
  final int? nano = jsonConvert.convert<int>(json['nano']);
  if (nano != null) {
    jobResponsibilitiesListWorkEndTime.nano = nano;
  }
  final int? second = jsonConvert.convert<int>(json['second']);
  if (second != null) {
    jobResponsibilitiesListWorkEndTime.second = second;
  }
  return jobResponsibilitiesListWorkEndTime;
}

Map<String, dynamic> $JobResponsibilitiesListWorkEndTimeToJson(JobResponsibilitiesListWorkEndTime entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['hour'] = entity.hour;
  data['minute'] = entity.minute;
  data['nano'] = entity.nano;
  data['second'] = entity.second;
  return data;
}

extension JobResponsibilitiesListWorkEndTimeExtension on JobResponsibilitiesListWorkEndTime {
  JobResponsibilitiesListWorkEndTime copyWith({
    int? hour,
    int? minute,
    int? nano,
    int? second,
  }) {
    return JobResponsibilitiesListWorkEndTime()
      ..hour = hour ?? this.hour
      ..minute = minute ?? this.minute
      ..nano = nano ?? this.nano
      ..second = second ?? this.second;
  }
}

JobResponsibilitiesListWorkKindCycleChangeList $JobResponsibilitiesListWorkKindCycleChangeListFromJson(Map<String, dynamic> json) {
  final JobResponsibilitiesListWorkKindCycleChangeList jobResponsibilitiesListWorkKindCycleChangeList = JobResponsibilitiesListWorkKindCycleChangeList();
  final String? attribute = jsonConvert.convert<String>(json['attribute']);
  if (attribute != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.attribute = attribute;
  }
  final String? checkCycle = jsonConvert.convert<String>(json['checkCycle']);
  if (checkCycle != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.checkCycle = checkCycle;
  }
  final String? checkCycleUnit = jsonConvert.convert<String>(json['checkCycleUnit']);
  if (checkCycleUnit != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.checkCycleUnit = checkCycleUnit;
  }
  final String? checkCycleUnitLabel = jsonConvert.convert<String>(json['checkCycleUnitLabel']);
  if (checkCycleUnitLabel != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.checkCycleUnitLabel = checkCycleUnitLabel;
  }
  final String? createBy = jsonConvert.convert<String>(json['createBy']);
  if (createBy != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.createBy = createBy;
  }
  final String? createDate = jsonConvert.convert<String>(json['createDate']);
  if (createDate != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.createDate = createDate;
  }
  final String? deleted = jsonConvert.convert<String>(json['deleted']);
  if (deleted != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.deleted = deleted;
  }
  final String? endTime = jsonConvert.convert<String>(json['endTime']);
  if (endTime != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.endTime = endTime;
  }
  final String? executeType = jsonConvert.convert<String>(json['executeType']);
  if (executeType != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.executeType = executeType;
  }
  final String? executeTypeLabel = jsonConvert.convert<String>(json['executeTypeLabel']);
  if (executeTypeLabel != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.executeTypeLabel = executeTypeLabel;
  }
  final JobResponsibilitiesListWorkKindCycleChangeListHourEndTime? hourEndTime = jsonConvert.convert<JobResponsibilitiesListWorkKindCycleChangeListHourEndTime>(
      json['hourEndTime']);
  if (hourEndTime != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.hourEndTime = hourEndTime;
  }
  final JobResponsibilitiesListWorkKindCycleChangeListHourStartTime? hourStartTime = jsonConvert.convert<
      JobResponsibilitiesListWorkKindCycleChangeListHourStartTime>(json['hourStartTime']);
  if (hourStartTime != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.hourStartTime = hourStartTime;
  }
  final String? id = jsonConvert.convert<String>(json['id']);
  if (id != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.id = id;
  }
  final String? startTime = jsonConvert.convert<String>(json['startTime']);
  if (startTime != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.startTime = startTime;
  }
  final String? status = jsonConvert.convert<String>(json['status']);
  if (status != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.status = status;
  }
  final String? taskId = jsonConvert.convert<String>(json['taskId']);
  if (taskId != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.taskId = taskId;
  }
  final String? updateBy = jsonConvert.convert<String>(json['updateBy']);
  if (updateBy != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.updateBy = updateBy;
  }
  final String? updateDate = jsonConvert.convert<String>(json['updateDate']);
  if (updateDate != null) {
    jobResponsibilitiesListWorkKindCycleChangeList.updateDate = updateDate;
  }
  return jobResponsibilitiesListWorkKindCycleChangeList;
}

Map<String, dynamic> $JobResponsibilitiesListWorkKindCycleChangeListToJson(JobResponsibilitiesListWorkKindCycleChangeList entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['attribute'] = entity.attribute;
  data['checkCycle'] = entity.checkCycle;
  data['checkCycleUnit'] = entity.checkCycleUnit;
  data['checkCycleUnitLabel'] = entity.checkCycleUnitLabel;
  data['createBy'] = entity.createBy;
  data['createDate'] = entity.createDate;
  data['deleted'] = entity.deleted;
  data['endTime'] = entity.endTime;
  data['executeType'] = entity.executeType;
  data['executeTypeLabel'] = entity.executeTypeLabel;
  data['hourEndTime'] = entity.hourEndTime?.toJson();
  data['hourStartTime'] = entity.hourStartTime?.toJson();
  data['id'] = entity.id;
  data['startTime'] = entity.startTime;
  data['status'] = entity.status;
  data['taskId'] = entity.taskId;
  data['updateBy'] = entity.updateBy;
  data['updateDate'] = entity.updateDate;
  return data;
}

extension JobResponsibilitiesListWorkKindCycleChangeListExtension on JobResponsibilitiesListWorkKindCycleChangeList {
  JobResponsibilitiesListWorkKindCycleChangeList copyWith({
    String? attribute,
    String? checkCycle,
    String? checkCycleUnit,
    String? checkCycleUnitLabel,
    String? createBy,
    String? createDate,
    String? deleted,
    String? endTime,
    String? executeType,
    String? executeTypeLabel,
    JobResponsibilitiesListWorkKindCycleChangeListHourEndTime? hourEndTime,
    JobResponsibilitiesListWorkKindCycleChangeListHourStartTime? hourStartTime,
    String? id,
    String? startTime,
    String? status,
    String? taskId,
    String? updateBy,
    String? updateDate,
  }) {
    return JobResponsibilitiesListWorkKindCycleChangeList()
      ..attribute = attribute ?? this.attribute
      ..checkCycle = checkCycle ?? this.checkCycle
      ..checkCycleUnit = checkCycleUnit ?? this.checkCycleUnit
      ..checkCycleUnitLabel = checkCycleUnitLabel ?? this.checkCycleUnitLabel
      ..createBy = createBy ?? this.createBy
      ..createDate = createDate ?? this.createDate
      ..deleted = deleted ?? this.deleted
      ..endTime = endTime ?? this.endTime
      ..executeType = executeType ?? this.executeType
      ..executeTypeLabel = executeTypeLabel ?? this.executeTypeLabel
      ..hourEndTime = hourEndTime ?? this.hourEndTime
      ..hourStartTime = hourStartTime ?? this.hourStartTime
      ..id = id ?? this.id
      ..startTime = startTime ?? this.startTime
      ..status = status ?? this.status
      ..taskId = taskId ?? this.taskId
      ..updateBy = updateBy ?? this.updateBy
      ..updateDate = updateDate ?? this.updateDate;
  }
}

JobResponsibilitiesListWorkKindCycleChangeListHourEndTime $JobResponsibilitiesListWorkKindCycleChangeListHourEndTimeFromJson(Map<String, dynamic> json) {
  final JobResponsibilitiesListWorkKindCycleChangeListHourEndTime jobResponsibilitiesListWorkKindCycleChangeListHourEndTime = JobResponsibilitiesListWorkKindCycleChangeListHourEndTime();
  final int? hour = jsonConvert.convert<int>(json['hour']);
  if (hour != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourEndTime.hour = hour;
  }
  final int? minute = jsonConvert.convert<int>(json['minute']);
  if (minute != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourEndTime.minute = minute;
  }
  final int? nano = jsonConvert.convert<int>(json['nano']);
  if (nano != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourEndTime.nano = nano;
  }
  final int? second = jsonConvert.convert<int>(json['second']);
  if (second != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourEndTime.second = second;
  }
  return jobResponsibilitiesListWorkKindCycleChangeListHourEndTime;
}

Map<String, dynamic> $JobResponsibilitiesListWorkKindCycleChangeListHourEndTimeToJson(JobResponsibilitiesListWorkKindCycleChangeListHourEndTime entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['hour'] = entity.hour;
  data['minute'] = entity.minute;
  data['nano'] = entity.nano;
  data['second'] = entity.second;
  return data;
}

extension JobResponsibilitiesListWorkKindCycleChangeListHourEndTimeExtension on JobResponsibilitiesListWorkKindCycleChangeListHourEndTime {
  JobResponsibilitiesListWorkKindCycleChangeListHourEndTime copyWith({
    int? hour,
    int? minute,
    int? nano,
    int? second,
  }) {
    return JobResponsibilitiesListWorkKindCycleChangeListHourEndTime()
      ..hour = hour ?? this.hour
      ..minute = minute ?? this.minute
      ..nano = nano ?? this.nano
      ..second = second ?? this.second;
  }
}

JobResponsibilitiesListWorkKindCycleChangeListHourStartTime $JobResponsibilitiesListWorkKindCycleChangeListHourStartTimeFromJson(Map<String, dynamic> json) {
  final JobResponsibilitiesListWorkKindCycleChangeListHourStartTime jobResponsibilitiesListWorkKindCycleChangeListHourStartTime = JobResponsibilitiesListWorkKindCycleChangeListHourStartTime();
  final int? hour = jsonConvert.convert<int>(json['hour']);
  if (hour != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourStartTime.hour = hour;
  }
  final int? minute = jsonConvert.convert<int>(json['minute']);
  if (minute != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourStartTime.minute = minute;
  }
  final int? nano = jsonConvert.convert<int>(json['nano']);
  if (nano != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourStartTime.nano = nano;
  }
  final int? second = jsonConvert.convert<int>(json['second']);
  if (second != null) {
    jobResponsibilitiesListWorkKindCycleChangeListHourStartTime.second = second;
  }
  return jobResponsibilitiesListWorkKindCycleChangeListHourStartTime;
}

Map<String, dynamic> $JobResponsibilitiesListWorkKindCycleChangeListHourStartTimeToJson(JobResponsibilitiesListWorkKindCycleChangeListHourStartTime entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['hour'] = entity.hour;
  data['minute'] = entity.minute;
  data['nano'] = entity.nano;
  data['second'] = entity.second;
  return data;
}

extension JobResponsibilitiesListWorkKindCycleChangeListHourStartTimeExtension on JobResponsibilitiesListWorkKindCycleChangeListHourStartTime {
  JobResponsibilitiesListWorkKindCycleChangeListHourStartTime copyWith({
    int? hour,
    int? minute,
    int? nano,
    int? second,
  }) {
    return JobResponsibilitiesListWorkKindCycleChangeListHourStartTime()
      ..hour = hour ?? this.hour
      ..minute = minute ?? this.minute
      ..nano = nano ?? this.nano
      ..second = second ?? this.second;
  }
}

JobResponsibilitiesListWorkStartTime $JobResponsibilitiesListWorkStartTimeFromJson(Map<String, dynamic> json) {
  final JobResponsibilitiesListWorkStartTime jobResponsibilitiesListWorkStartTime = JobResponsibilitiesListWorkStartTime();
  final int? hour = jsonConvert.convert<int>(json['hour']);
  if (hour != null) {
    jobResponsibilitiesListWorkStartTime.hour = hour;
  }
  final int? minute = jsonConvert.convert<int>(json['minute']);
  if (minute != null) {
    jobResponsibilitiesListWorkStartTime.minute = minute;
  }
  final int? nano = jsonConvert.convert<int>(json['nano']);
  if (nano != null) {
    jobResponsibilitiesListWorkStartTime.nano = nano;
  }
  final int? second = jsonConvert.convert<int>(json['second']);
  if (second != null) {
    jobResponsibilitiesListWorkStartTime.second = second;
  }
  return jobResponsibilitiesListWorkStartTime;
}

Map<String, dynamic> $JobResponsibilitiesListWorkStartTimeToJson(JobResponsibilitiesListWorkStartTime entity) {
  final Map<String, dynamic> data = <String, dynamic>{};
  data['hour'] = entity.hour;
  data['minute'] = entity.minute;
  data['nano'] = entity.nano;
  data['second'] = entity.second;
  return data;
}

extension JobResponsibilitiesListWorkStartTimeExtension on JobResponsibilitiesListWorkStartTime {
  JobResponsibilitiesListWorkStartTime copyWith({
    int? hour,
    int? minute,
    int? nano,
    int? second,
  }) {
    return JobResponsibilitiesListWorkStartTime()
      ..hour = hour ?? this.hour
      ..minute = minute ?? this.minute
      ..nano = nano ?? this.nano
      ..second = second ?? this.second;
  }
}
